package com.bweab.service.api;

import com.bweab.pojo.DepositTb;
import com.bweab.util.PageList;

import java.util.List;

/**
 * 充值记录服务接口
 * */
public interface DepositTbServiceInterface {

    /**
     * 用户充值
     * @param userid 用户id
     * @param usermonkey    用户金钱
     * @param dormitoryid   宿舍id
     * @return  返回对象
     */
    int depositMonkey(int userid, int usermonkey, int dormitoryid);

    /**
     *
     * @param userId 用户id
     * @param dormitoryId 寝室id
     * @param userFee 用户费用
     * @return 返回结果 1为成功  0 为失败
     */
    int addDepositMonkey(int userId, int dormitoryId, int userFee);

    /**
     * 根据用户id查询返回结果
     * @param depositId 用户id
     * @return
     */
    DepositTb getDepositById(int depositId);

    /**
     * 该方法修改充值记录的
     *
     * @param dormitoryId 寝室id
     * @param userId      用户id
     * @param userFee     用户费用
     * @param depositId
     * @return 1成功 0失败
     */
    int alterDepositInfo(int dormitoryId, int userId, int userFee, int depositId);

    /**
     * 通过寝室id删除充值记录
     * @param dormitoryId 寝室id
     * @return 1成功 0失败
     */
    int deleteDepositByDormitoryId(int dormitoryId);

    /***
     * 通过充值记录id删除
     * @param depositId 充值记录id
     * @return 1成功 0 失败
     */
    int deleteDepositByDepositId(int depositId);

    /**
     * 通过用户id删除充值记录
     *
     * @param userId 用户id
     * @return 1成功 0失败
     */

    int deleteDepositByUserId(int userId);

    /**
     * 通过充值记录id获取充值信息
     * @param depositId 充值记录id
     * @return 返回的是Deposit集合
     */
    List<DepositTb> queryDepositInfoByUserId(int depositId);

    /**
     * 通过充值记录获取充值信息的集合
     * @param depositId 充值记录id
     * @param page      当前页数
     * @param pageSize  页数大小
     * @return      PageList
     */
    PageList queryDepositInfoByDepositId(int depositId, int page, int pageSize);
}
